package com.asura.ops.sync.server.service;

import com.asura.ops.sync.server.model.entity.req.RepushByClientCodeReq;
import com.asura.ops.sync.server.model.entity.req.RepushReq;

/**
 * @author: huyuntao(Mars)
 * @date: 2022/8/10
 * @description: 类的描述
 */
public interface ManageService {
    /**
     * 补偿发送消息，单表
     *
     * @param repushReq
     */
    void repush(RepushReq repushReq);

    /**
     * 补偿发送消息，clientCode对应的全表
     *
     * @param clientCode
     * @param updateTimeFieldName
     */
    void repushByClientCode(String clientCode, String updateTimeFieldName);

    /**
     * 补偿发送消息，clientCode对应的全表  V2
     *
     * @param repushByClientCodeReq
     */
    void repushByClientCodeV2(RepushByClientCodeReq repushByClientCodeReq);

    /**
     * 清理指定时间之前的发送记录
     *
     * @param time
     */
    void cleanChangeInfo(String time);

    void setCleanSwitch(Boolean cleanSwitch);

}
